#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<list>
using namespace std;
int main()
{
	int n, m;
	scanf("%d%d", &n, &m);
	list<int> lt;
	for (int i = 0; i < n; i++)
	{
		lt.push_back(i);
	}
	list<int>::iterator it = lt.begin();
	//lt.erase(lt.end());
	while (n > 1)
	{
		int x = m - 1;
		while (x--)
		{
			if (it == lt.end())it = lt.begin();
			it++;
			if (it == lt.end())it=lt.begin();
		}
		list<int>::iterator del = it;
		it = lt.erase(del);
		n--;
	}
	cout << *it << endl;
	return 0;
}
//int main()
//{
//	int q;
//	cin >> q;
//	while (q--)
//	{
//		int sum = 0;
//		int y, o, u;
//		cin >> y >> o >> u;
//		while (y && o && u)
//		{
//			y--, o--, u--;
//			sum += 2;
//		}
//		if (o > 2)
//		{
//			sum += o - 1;
//
//		}
//		else if (o == 2)
//		{
//			sum++;
//		}
//		cout << sum << endl;
//	}
//	return 0;
//}